Quadratic reciprocity